//
//  LGSliderDrawerManager.h
//  LGSliderDrawer
//
//  Created by apple on 2021/3/24.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#import "LGSliderDrawerConfigure.h"

NS_ASSUME_NONNULL_BEGIN

@interface LGSliderDrawerManager : NSObject

/// 更新侧滑返回的子视图，每次侧滑触发时需要更新子视图，可以响应该方法
@property (nonatomic, copy) UIView *(^showRightViewBlock)(void);

/// 手势响应处理回调，返回YES，不响应侧滑手势
@property (nonatomic, copy) BOOL (^js_gestureRecognizerShouldBegin)(UIGestureRecognizer *gestureRecognizer);

/**
 呼出侧滑控制器的方法（主要）

 @param rightView 需要展示抽屉效果的子视图
 @param superView 父视图
 @param gestureView 添加手势的视图
 @param configuration 侧滑过程的一些参数配置，如果传nil会创建一个默认的配置参数
 */
- (void)showDrawerRightView:(UIView *)rightView
                  superView:(UIView *)superView
                gestureView:(UIView *)gestureView
              configuration:(LGSliderDrawerConfigure *)configuration;

/// 更新侧滑子视图
- (void)updateRightView:(UIView *)rightView;

/// 更新侧滑状态 YES 侧滑中
- (void)updateSidelip:(BOOL)isSidelip;

- (void)show;

- (void)dismiss;

@end

NS_ASSUME_NONNULL_END
